//
//  CZNewFeatureCell.swift
//  iOSWeibo10
//
//  Created by ge on 16/5/14.
//  Copyright © 2016年 ge. All rights reserved.
//

import UIKit

class CZNewFeatureCell: UICollectionViewCell {
    
    // 根据cell显示的哪一页设置对应的图片
    //这个方法每页改变的时候都会调用
    var index: Int = 0 {
        didSet {
            // cell要显示的那一刻,collectionView就会来给cell设置index,让我们的cell知道要显示哪一页
            // 根据页码设置图片
            CZPrint(items: "第\(index)页要显示")
            bkgImageView.image = UIImage(named: "new_feature_\(index + 1)")
        
            // 隐藏开始按钮
            //最后一页出现开始按钮后，保存到缓存池，如果不隐藏，再拉回来的时候，会出现开始按钮
            startButton.hidden = true
        }
    }
    
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        prepareUI()
    }

    private func prepareUI() {
        //1.添加控件
        contentView.addSubview(bkgImageView)
        contentView.addSubview(startButton)
        
        //2.添加约束
        bkgImageView.snp_makeConstraints { (make) -> Void in
            make.edges.equalTo(self.contentView)
        }
        startButton.snp_makeConstraints { (make) -> Void in
            make.centerX.equalTo(self.contentView)
            make.bottom.equalTo(self.contentView).offset(-160)
        }
    }
    
    /// 开始按钮动画
    func startAnimation() {
        
        // 动画之前,将按钮显示出来
        startButton.hidden = false
        // 在动画前设置transform.scale为0.看不到
        startButton.transform = CGAffineTransformMakeScale(0, 0)

        //弹簧动画
        //duration: NSTimeInterval:弹簧效果
        //delay：延迟时间
        //usingSpringWithDamping：弹簧的明显程度
        //initialSpringVelocity：弹簧初速度
        //UIViewAnimationOptions:创建动画的枚举
        UIView.animateWithDuration(0.5, delay: 0, usingSpringWithDamping: 0.5, initialSpringVelocity: 5, options: UIViewAnimationOptions(rawValue: 0), animations: { () -> Void in
            // 恢复到原来的大小
            self.startButton.transform = CGAffineTransformMakeScale(1, 1)// 恢复到原来的大小
//            self.startButton.transform = CGAffineTransformIdentity //清空transform恢复默认状态Scale=1
            
            }, completion: nil)
    }
    
    // MARK: - 按钮点击事件
    func startButtonClick() {
        let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
        appDelegate.switchRootController(CZMainTabBarController())
    }
    
    // MARK: - 懒加载
    /// 背景imageView
    private lazy var bkgImageView: UIImageView = UIImageView(image: UIImage(named: "new_feature_1"))
    
    /// 开始按钮
    private lazy var startButton: UIButton = {
        let button = UIButton()
        
        //设置文字
        button.setTitle("开始体验", forState: UIControlState.Normal)
        button.setBackgroundImage(UIImage(named: "new_feature_finish_button"), forState: UIControlState.Normal)
        button.setBackgroundImage(UIImage(named: "new_feature_finish_button_highlighted"), forState: UIControlState.Highlighted)
        
        button.hidden = true
        
        // 点击事件
        button.addTarget(self, action: "startButtonClick", forControlEvents: UIControlEvents.TouchUpInside)
        
        return button
    }()
}






